home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Plus 2000 #4
/
Amiga Plus CD - 2000 - No. 4.iso
/
Vollversion
/
CamD
/
development
/
examples
/
capture
/
capture.doc
< prev
next >
Wrap
Text File
|
2000-05-15
|
3KB
|
62 lines
MIDI Capture
By Talin
MIDI Capture is a little utility that uses camd.library to capture all
incoming MIDI data and store it in an internal memory buffer using the
Standard MIDI File format. Once the data is captured, it can be sent out again,
or saved to a file. You can also load any Standard Midi File into the memory
buffer as well.
Each incoming messages is appended to the internal buffer, which expands
and contracts dynamically as needed. (In the current version, there is no way
to turn off this capturing feature). The window displays the number of bytes in
the buffer.
Note that Capture ignores all timing information. Incoming data is
timestamped with a time of zero, and timestamps of Standard MIDI files which
have been loaded in is ignored. When sending, all the data is sent at once.
The main purpose for this utility is to capture System Exclusive messages
such as patch dumps, audio samples, tuning maps, and other device data, and
store them on disk.
Gadgets
~~~~~~~
The "Load..." button loads a standard MIDI file. The current contents of
the buffer is discarded before the new data is read in.
The "Save..." button saves the current contents of the buffer to a Standard
MIDI file. The buffer is not affected by this operation.
The "Send" button sends the contents of the buffer out via MIDI.
The "Clear" button empties the buffer. There is no confirmation prompt.
Menus
~~~~~
The Clear, Load, and Save menu items operate exactly like their gadget
counterparts.
The Quit menu item quits the program.
The About menu item shows the program information.
The "Set Input Link..." and "Set Output Link..." menu items allow you to
redirect where the MIDI input is coming from, and where it will be sent to. A
scrolling list of MIDI cluster names will be presented, along with a string
gadget where a custom name, one not in the list, can be typed.
Notes
~~~~~
Capture has no support for editing the data in the buffer, or
re-channelizing on output. It is assumed that another CAMD utility could be
created for this purpose.
Standard MIDI Files often contain "Meta-Events" which are special message
events such as text strings, clef changes, etc. These cannot be transmitted
over MIDI, and are ignored during a send. However, loading a standard MIDI file
and saving it back out again will preserve these events (The Capture utility
just loads the file raw into memory and writes it back out again). In addition,
all timing information is preserved, even though Capture ignores it.
Possible Future Enhancements
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
A checked menu item to disable the capturing of new messages.
A checked menu item to support realtime.library for using the time stamp
information. (Although, I don't want to have to deal with issues like Tempo and
such, that's really the job of a true sequencer. Perhaps I would only enable
this for MIDI files which have actual rather than metric timing).
The ability to load "raw" midi dumps (i.e. not standard MIDI files).